package com.easycoding.ums.system.repository;

import java.util.List;

import com.easycoding.framework.repository.BaseJpaRepository;
import com.easycoding.ums.system.entity.User;

/**
 * 用户表操作
 * @author Wangjk
 * @Version 1.0
 * @Date 2013-4-1
 */
public interface UserRepository extends BaseJpaRepository<User, Long> {
	
	/**
	 * 通过账号获得用户信息
	 * @param account
	 * @return
	 */
	public User findByAccount(String account);
	
	/**
	 * 通过账号ID查询所有下级账号或子账号
	 * @param idtree ID树
	 * @param ischild 是否子账号
	 * @return
	 */
	public List<User> findByIdtreeLikeAndIsChild(String idtree, boolean ischild);	
	
	/**
	 * 通过父账号ID查询下级账号或子账号
	 * @param parentId 父账号ID
	 * @param ischild 是否子账号
	 * @return
	 */
	public List<User> findByParentIdAndIsChildOrderByUpdTimeDesc(Long parentId, boolean isChild);	
	
	/**
	 * 通过用户等级查找用户
	 * @param userLevel
	 * @return
	 */
	public List<User> findByUserLevel(int userLevel);
	
	/**
	 * 通过父账号IDtree和用户等级查找用户
	 * @param idtree ID树
	 * @param ischild 是否子账号
	 * @return
	 */
	public List<User> findByIdtreeLikeAndUserLevel(String idtree,int userLevel);	
	
	/**
	 * 通过id获得用户信息
	 * @param account
	 * @return
	 */
	public User findById(Long Id);

}
